﻿using System;
using System.Linq;
using System.Collections.Generic;

namespace HashFoo.Rest.Common
{
    /// <summary>
    /// Meta data for a query: paging, sorting, filtering.
    /// </summary>
    public class QueryMeta
    {
        /// <summary>
        /// The filters for the query results.
        /// </summary>
        public FilterSet Filter { get; set; }

        /// <summary>
        /// An ordered collection of sort descriptors for the query.
        /// </summary>
        public IEnumerable<SortDescriptor> SortDescriptors { get; set; }

        /// <summary>
        /// Amount of results to skip (paging number).
        /// </summary>
        public int Skip { get; set; }

        /// <summary>
        /// The amount of results to take (paging size).
        /// </summary>
        public int Take { get; set; }
    }
}